#include<iostream>
#include<algorithm>
using namespace std;
using i64=long long;

const int N=1e6+10;
int n;
int tr[N],a[N],sa[N];

int lowbit(int x){
    return x&-x;
}

void add(int x,int c){
    for(int i=x;i<=n;i+=lowbit(i))
        tr[i]+=c;
}

int query(int x){
    int res=0;
    for(int i=x;i;i-=lowbit(i))
        res+=tr[i];
    return res;
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>a[i];
        sa[i]=a[i];
    }
    sort(sa,sa+n);
    
    i64 ans=0;
    for(int i=0;i<n;i++){
        int x=lower_bound(sa,sa+n,a[i])-sa+1;
        int v=query(x);
        ans+=1ll*(i-v)*(x-1-v);
        add(x,1);
    }
    cout<<ans<<"\n";
    return 0;
}
